package com.zyk.scaffold.oauth.controller.token;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@Data
@ApiModel("登录响应信息")
public class TokenLoginResponse implements Serializable {
    private static final long serialVersionUID = -4219865251523650864L;
    @ApiModelProperty(value = "accessToken", required = true)
    private String accessToken;
    @ApiModelProperty(value = "超时时间 秒", required = true)
    private Long expiresTime;
    @ApiModelProperty(value = "超时时间戳 毫秒", required = true)
    private Long expiresTimeStamp;
    @ApiModelProperty(value = "refreshToken", required = true)
    private String refreshToken;
    @ApiModelProperty(value = "refreshToken超时时间 秒", required = true)
    private Long refreshExpiresTime;
    @ApiModelProperty(value = "账户", required = true)
    private String account;
    @ApiModelProperty(value = "租户编码", required = true)
    private String tenantCode;
    @ApiModelProperty(value = "租户名称", required = true)
    private String tenantName;
    @ApiModelProperty(value = "客户端ID", required = true)
    private String clientId;
    @ApiModelProperty(value = "域", required = true)
    private String[] scopes;
    @ApiModelProperty(value = "用户ID", required = true)
    private Long userId;
    @ApiModelProperty(value = "用户昵称", required = true)
    private String nickName;
    @ApiModelProperty(value = "电话", required = true)
    private String phone;
    @ApiModelProperty(value = "邮箱", required = true)
    private String email;
    @ApiModelProperty(value = "注册时间", required = true)
    private String createTime;
    @ApiModelProperty(value = "角色", required = true)
    private List<String> roles;
    @ApiModelProperty(value = "菜单-功能信息", required = true)
    private List<Map<String, Object>> menuFunctions;;
}
